<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 99年es3，有很多不合理的地方。在es5中要用严格模式去阻止

    // 一般公司不让全局使用，只在自己的部分用
    // 'use strict';
    // function test() {
    //   'use strict'
    // }
    // var test = (function () {
    //   'use strict'
    // })()



    // 严格模式下不能用的

    'use strict';

    // // caller/callee
    // function test1() {
    //   console.log(arguments.callee)
    //   test2()
    // }
    // test1();
    // function test2() {
    //   console.log(test2.caller)
    // }

    // 赋值前必须定义
    // var a = b = 1;



    // 为指定this，会指向undefined
    // function test() {
    //   console.log(this)
    // }
    // test()


    // 函数不能用相同的命名接受参数
    // function test(a, a) {
    //   console.log(a)
    // }
    // test(1, 2)



    // 严格模式下eval中会产生局部作用域
    // eval('var a = 1; console.log(a)')
    // console.log(a)
  </script>
</body>

</html>